package main

import (
	"counter-help/admin/server/core"
	"counter-help/admin/server/global"
	"counter-help/admin/server/initialize"
	_ "go.uber.org/automaxprocs"
	"go.uber.org/zap"
)

func main() {
	global.GVA_VP = core.Viper() // 初始化 Viper
	initialize.OtherInit()
	global.GVA_LOG = core.Zap() // 初始化 zap 日志库
	zap.ReplaceGlobals(global.GVA_LOG)
	global.GVA_DB = initialize.Gorm() // gorm 连接数据库
	initialize.Timer()
	initialize.DBList()
	initialize.InitWebSocket() // 初始化 WebSocket Hub

	if global.GVA_DB != nil {
		initialize.RegisterTables() // 初始化表
		// 程序结束前关闭数据库链接
		db, _ := global.GVA_DB.DB()
		defer db.Close()
	}

	// 启动 HTTP 服务器
	core.RunWindowsServer()
}
